Added documentation about how to use the unit test runner.
[adiumx.git] / Plugins / Purple Service / ESQQService.m
blobe2936d9ddb493d773d7352e732993d96fdca0948
1 //
2 //  ESQQService.m
3 //  Adium
4 //
5 //  Created by Evan Schoenberg on 8/7/06.
6 //
8 #import "ESQQService.h"
9 #import "ESPurpleQQAccount.h"
10 #import "ESPurpleQQAccountViewController.h"
11 #import <Adium/AIStatusControllerProtocol.h>
12 #import <AIUtilities/AICharacterSetAdditions.h>
14 @implementation ESQQService
15 //Account Creation
16 - (Class)accountClass{
17         return [ESPurpleQQAccount class];
20 - (AIAccountViewController *)accountViewController{
21     return [ESPurpleQQAccountViewController accountViewController];
24 - (DCJoinChatViewController *)joinChatView{
25         return nil;
28 //Service Description
29 - (NSString *)serviceCodeUniqueID{
30         return @"libpurple-qq";
32 - (NSString *)serviceID{
33         return @"QQ";
35 - (NSString *)serviceClass{
36         return @"QQ";
38 - (NSString *)shortDescription{
39         return @"QQ";
41 - (NSString *)longDescription{
42         return @"QQ";
44 - (NSCharacterSet *)allowedCharacters{
45         NSMutableCharacterSet   *allowedCharacters = [[NSCharacterSet alphanumericCharacterSet] mutableCopy];
46         NSCharacterSet                  *returnSet;
48         [allowedCharacters addCharactersInString:@"-"];
49         returnSet = [allowedCharacters immutableCopy];
50         [allowedCharacters release];
52         return [returnSet autorelease];
54 - (NSCharacterSet *)ignoredCharacters{
55         return [NSCharacterSet characterSetWithCharactersInString:@""];
57 - (int)allowedLength{
58         return 255;
60 - (BOOL)caseSensitive{
61         return NO;
63 - (AIServiceImportance)serviceImportance{
64         return AIServiceSecondary;
66 - (BOOL)canCreateGroupChats{
67         return NO;
70 - (void)registerStatuses{
71         [[adium statusController] registerStatus:STATUS_NAME_AVAILABLE
72                                                          withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_AVAILABLE]
73                                                                           ofType:AIAvailableStatusType
74                                                                   forService:self];
75         [[adium statusController] registerStatus:STATUS_NAME_AWAY
76                                                          withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_AWAY]
77                                                                           ofType:AIAwayStatusType
78                                                                   forService:self];
79         [[adium statusController] registerStatus:STATUS_NAME_INVISIBLE
80                                                          withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_INVISIBLE]
81                                                                           ofType:AIInvisibleStatusType
82                                                                   forService:self];
83         
86 @end